The following declares a variable of type 'union input_value', and assigns values to it.
union input_value response;
response.i = 7;
response.f = 100.; /* the value of response.i is now lost */
Following the assignment to member 'f', the value assigned to member 'i' is no longer available, since the space allocated for it is shared by member 'f'.